Bug 145058 - Inputting "^^" requires four keystrokes on Win32, differs
authorTor Lillqvist <tml@novell.com>
Thu, 29 Jan 2009 13:43:42 +0000 (13:43 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Thu, 29 Jan 2009 13:43:42 +0000 (13:43 +0000)
commit934014af3dd0896a66b3ee135f3304ace2336cc7
tree1a18dbc04926683ad50034db0b081e0b21ffc913
parent3360653dcb6336ce25ffe8befb33f89a81375a20
Bug 145058 - Inputting "^^" requires four keystrokes on Win32, differs

2009-01-29  Tor Lillqvist  <tml@novell.com>

Bug 145058 - Inputting "^^" requires four keystrokes on Win32,
differs from platform default behaviour

* gtk/gtkimcontextsimple.c
(check_win32_special_case_after_compact_match): New
function. Called from check_compact_table() after a table-based
match has committed a character. In case there was two identical
dead accents in the input, another copy of the spacing accent that
was already committed is committed. This fixes #145058.

(check_win32_special_cases): New function. Called first from
gtk_im_context_simple_filter_keypress(). This fixes another
problem: a dead accent followed by a space should commit the
corresponding spacing accent. The compose tables from X commit
another character in two cases and we want to override that on
Windows.

Add GTK_NOTE (MISC) debugging output to this code.

svn path=/trunk/; revision=22253
ChangeLog
gtk/gtkimcontextsimple.c